// 1.导入mockjs
import Mock from 'mockjs'
import _ from 'lodash'

Mock.Random.extend({
  // 地点随机
  site: () => {
    return (
      Mock.Random.province()
    )
  },
  // 公司随机
  company: () => {
    return (
      Mock.Random.province() + Mock.Random.cword(5, 7) + '科技有限公司'
    )
  },
  // 技能随机
  skilledness: () => {
    const arr = [
      '做饭',
      '月子餐',
      '洗衣',
      '婴儿喂养',
      '小孩看管',
      '家庭辅导',
      '照顾老人',
      '买菜',
      '接送小孩',
      '打扫卫生',
      '照顾宠物'
    ]
    return _.sampleSize(arr, 7)
  },
  resume: () => {
    const content = [
      `2018年8月在${Mock.mock('@site()')}女子学院优家培训平台以优异的成绩， 荣获中级育婴结业证书，并获得被动操和实操能手荣誉证书。参加国家职业资格证考试，获得国家职业资格证书育婴员证，会做精致的辅食，婴儿常见疾病的护理，宝宝哄睡，以及良好的生活习惯。擅长科学育儿，会新生儿的黄疸辩证和护理，会脐带消毒和护理，臀部护理，洗澡抚触，婴儿主被动操，穿脱衣服，做简单早教。其他技能：亲和力非常不错，形象气质很好，积极主动，能很好的与他人沟通，做事细心，勤快，有耐心，敬业，能吃苦。 普通话标准，有爱心，曾在私塾教书2年，对胎婴幼儿教育有一定的认识。有带过一个1岁左右的女宝宝到3岁多上幼儿园的经验，做饭菜好吃，可以兼做饭菜，家务。`,
      `2019年9月在${Mock.mock('@site()')}女子学院优家培训平台以优异的成绩， 荣获中级育婴结业证书，并获得被动操和实操能手荣誉证书。参加国家职业资格证考试，获得国家职业资格证书育婴员证，会做精致的辅食，婴儿常见疾病的护理，宝宝哄睡，以及良好的生活习惯。擅长科学育儿，会新生儿的黄疸辩证和护理，会脐带消毒和护理，臀部护理，洗澡抚触，婴儿主被动操，穿脱衣服，做简单早教。其他技能：亲和力非常不错，形象气质很好，积极主动，能很好的与他人沟通，做事细心，勤快，有耐心，敬业，能吃苦。 普通话标准，有爱心，曾在私塾教书2年，对胎婴幼儿教育有一定的认识。有带过一个1岁左右的女宝宝到3岁多上幼儿园的经验，做饭菜好吃，可以兼做饭菜，家务。`,
      `2020年6月在${Mock.mock('@site()')}女子学院优家培训平台以优异的成绩， 荣获中级育婴结业证书，并获得被动操和实操能手荣誉证书。参加国家职业资格证考试，获得国家职业资格证书育婴员证，会做精致的辅食，婴儿常见疾病的护理，宝宝哄睡，以及良好的生活习惯。擅长科学育儿，会新生儿的黄疸辩证和护理，会脐带消毒和护理，臀部护理，洗澡抚触，婴儿主被动操，穿脱衣服，做简单早教。其他技能：亲和力非常不错，形象气质很好，积极主动，能很好的与他人沟通，做事细心，勤快，有耐心，敬业，能吃苦。 普通话标准，有爱心，曾在私塾教书2年，对胎婴幼儿教育有一定的认识。有带过一个1岁左右的女宝宝到3岁多上幼儿园的经验，做饭菜好吃，可以兼做饭菜，家务。`,
      `2017年8月在${Mock.mock('@site()')}女子学院优家培训平台以优异的成绩， 荣获中级育婴结业证书，并获得被动操和实操能手荣誉证书。参加国家职业资格证考试，获得国家职业资格证书育婴员证，会做精致的辅食，婴儿常见疾病的护理，宝宝哄睡，以及良好的生活习惯。擅长科学育儿，会新生儿的黄疸辩证和护理，会脐带消毒和护理，臀部护理，洗澡抚触，婴儿主被动操，穿脱衣服，做简单早教。其他技能：亲和力非常不错，形象气质很好，积极主动，能很好的与他人沟通，做事细心，勤快，有耐心，敬业，能吃苦。 普通话标准，有爱心，曾在私塾教书2年，对胎婴幼儿教育有一定的认识。有带过一个1岁左右的女宝宝到3岁多上幼儿园的经验，做饭菜好吃，可以兼做饭菜，家务。`,
      `2016年9月在${Mock.mock('@site()')}女子学院优家培训平台以优异的成绩， 荣获中级育婴结业证书，并获得被动操和实操能手荣誉证书。参加国家职业资格证考试，获得国家职业资格证书育婴员证，会做精致的辅食，婴儿常见疾病的护理，宝宝哄睡，以及良好的生活习惯。擅长科学育儿，会新生儿的黄疸辩证和护理，会脐带消毒和护理，臀部护理，洗澡抚触，婴儿主被动操，穿脱衣服，做简单早教。其他技能：亲和力非常不错，形象气质很好，积极主动，能很好的与他人沟通，做事细心，勤快，有耐心，敬业，能吃苦。 普通话标准，有爱心，曾在私塾教书2年，对胎婴幼儿教育有一定的认识。有带过一个1岁左右的女宝宝到3岁多上幼儿园的经验，做饭菜好吃，可以兼做饭菜，家务。`
    ]
    return _.sample(content)
  },
  job: () => {
    const arr = [
      '月嫂',
      '育婴师',
      '保洁/清洁',
      '保姆',
      '早教/托',
      '养老/陪',
      '家装/搬',
      '产康师',
    ]
    return _.sampleSize(arr, 4)
  },
  jobs: () => {
    const arr = [
      '月嫂',
      '保姆',
      '育婴师',
      '产康师',
      '早教/托',
      '养老/陪',
      '家装/搬',
      '保洁/清',
      '全部职业'
    ]
    return arr
  },
  jobx: () => {
    const arr = [
      '全部职业',
      '月嫂',
      '保姆',
      '育婴师',
      '产康师',
      '早教/托',
      '养老/陪',
      '家装/搬',
      '保洁/清',
    ]
    return arr
  },
  nationality: () => {
    const arr = [
      '汉族',
      '苗族',
      '维吾尔族',
      '回族',
      '壮族',
      '满族',
      '土家族',
      '蒙古族',
      '藏族'
    ]
    return _.sample(arr)
  },
  zodiac: () => {
    const arr = [
      '鼠',
      '牛',
      '虎',
      '兔',
      '龙',
      '蛇',
      '马',
      '羊',
      '猴',
      '鸡',
      '狗',
      '猪'
    ]
    return _.sample(arr)
  },
  // level: () => {
  //   var arr = [
  //     `一星${_.sample(Mock.mock('@job()'))}`,
  //     `二星${_.sample(Mock.mock('@job()'))}`,
  //     `三星${_.sample(Mock.mock('@job()'))}`,
  //     `四星${_.sample(Mock.mock('@job()'))}`,
  //     `五星${_.sample(Mock.mock('@job()'))}`,
  //     `金星${_.sample(Mock.mock('@job()'))}`
  //   ]
  //   return _.sample(arr)
  // },
  leve: () => {
    var arr = [
      '一星',
      '二星',
      '三星',
      '四星',
      '五星',
      '金星'
    ]
    return _.sample(arr)
  },
  jobss: () => {
    const arr = [
      `${_.sample(Mock.mock('@job()'))}`,
      `${_.sample(Mock.mock('@job()'))}`,
      `${_.sample(Mock.mock('@job()'))}`,
      `${_.sample(Mock.mock('@job()'))}`,
      `${_.sample(Mock.mock('@job()'))}`,
      `${_.sample(Mock.mock('@job()'))}`
    ]
    return _.sample(arr)
  },
  experience: () => {
    var arr = [
      Mock.Random.region(),
      Mock.Random.integer(25, 40) + '岁',
      Mock.Random.integer(5, 10) + '年经验'
    ]
    return arr.join(' | ')
  },
  status: () => {
    return Mock.Random.boolean()
  },
  education: () => {
    const arr = [
      '中专',
      '大专',
      '本科',
      '硕士',
    ]
    return _.sample(arr)
  },
  // 姓名
  name: () => {
    const arr1 = Mock.Random.cword('赵钱孙李周吴郑王冯陈褚卫蒋沈韩杨朱秦尤许何吕施张孔曹严华金魏陶姜戚谢邹喻柏水窦章', 1)
    const arr2 = Mock.Random.cword('彬涵佳霞曼清涵彤菲芳慧语艳可欣', 2)
    return arr1 + arr2
  },
  // 图片
  imgs: () => {
    const arr = Mock.Random.dataImage()
    return arr
  },
  pic: () => {
    const arr = [
      require('@/assets/pic/1.png'),
      require('@/assets/pic/2.png'),
      require('@/assets/pic/3.png'),
      require('@/assets/pic/4.png'),
      require('@/assets/pic/5.png'),
      require('@/assets/pic/6.png'),
    ]
    return _.sample(arr)
  }
})

// 模拟接口Mock.mock()
// 获取全员信息
Mock.mock('/herdetails', 'get', function () {
  var data = null
  data = getItem('account')
  if (!data) {
    data = Mock.mock({
      'list|30': [{
        'id|+1': 1,
        name: '@name()',
        'tel|+123455': 13111111111,
        job: '@job()',
        status: '@status',
        company: '@company()',
        skilledness: '@skilledness()',
        resume: '@resume()',
        nationality: '@nationality()',
        zodiac: '@zodiac()',
        level: '@leve()',
        experience: '@experience()',
        education: '@education()',
        pic: '@pic()',
        jobss: '@jobss()'
      }]
    })
  }
  setItem('account', data)
  return data.list
})

// 获取岗位
Mock.mock('/herdetails/job', 'get', () => {
  return Mock.mock('@jobs()')
})

// 获取筛选的岗位
Mock.mock('/herdetails/jobx', 'get', () => {
  return Mock.mock('@jobx()')
})

// 获取登录信息
// Mock.mock('/herdetails/getlogin', 'get', function(option) {
//   const data =
// })

// 模拟接口Mock.mock()
Mock.mock(/\/herdetails\/\d+/, 'get', function (option) {
  const id = option.url.replace('/herdetails/', '') - 0
  var data = getItem('account')
  var index = data.list.findIndex(item => item.id === id)

  if (index >= 0) {
    setItem('accountId', data.list[index])
    return data.list[index]
  }
})

// 添加关注
Mock.mock('/herdetails/follow', 'post', function (option) {
  const arr2 = JSON.parse(option.body).target.target
  const id = +(arr2.id)
  const arr = JSON.parse(window.localStorage.getItem('account'))
  // const id = +(this.id)
  // const data = getItem('account')
  const index = arr.list.findIndex(item => item.id === id)
  arr.list[index].status = arr2.status
  const data = JSON.stringify(arr)
  window.localStorage.setItem('account', data)
  // return data
})

// 封装本地存储的方法
export const setItem = (key, value) => {
  if (typeof value === 'object') {
    value = JSON.stringify(value)
  }
  window.localStorage.setItem(key, value)
}

// 获取数据
export const getItem = (key, value) => {
  const data = window.localStorage.getItem(key)
  try {
    return JSON.parse(data)
  } catch (err) {
    return null
  }
}
